package main

import (
	"fmt"
	// "unsafe"
)


func main(){
// 基本数据类型
// var num int =10
// fmt.Printf("num=%v,类型:%T",num,num)
// 复杂数据类型
// int 8的范围演示
// 整形分类  无符号整形:uint(-127——127) uint16 uint32
	// var num int8 =98
	// fmt.Printf("num=%v 类型:%T",num,num)

	// 变量的存储空间
//	unsafe.Sizeof //查看不同长度的整形 在内存里面的存储空间 
	// var a int8 = 15
	// fmt.Printf("num=%v 类型:%T\n",a,a)
	// fmt.Println(unsafe.Sizeof(a))  //1个字节
	// // 

	// 无符号整形 uint8 =0-255
	// var a uint8 = 200
	// fmt.Printf("n1=%v 类型是%T\n",a,a)
	// int 类型转换
	// var a1 int32 =10
	// var a2 int64 =21
	// fmt.Println(int64(a1) +a2)
	// fmt.Println(a1 + int32(a2))
	// // 高位想低位转换的时候要注意 是否可以接收这个数据
	// var n1 int16 = 130
	// fmt.Println(int8(n1))  //-126

	// var n2 int16 =110
	// fmt.Println(int8(n2)) //110

	// 数字字面量语法 
	// num :=30
	// fmt.Printf("num=%v 类型:%T\n",num,num)
	// fmt.Println(unsafe.Sizeof(num))  //表示64位的计算机

	num :=30
	fmt.Printf("num=%v\n",num) 	//原样输出
	fmt.Printf("num=%d\n",num) 	//表示10进制输出
	fmt.Printf("num=%b\n",num)		//表示二进制输出
	fmt.Printf("num=%o\n",num) 		//表示八进制输出
	fmt.Printf("num=%x \n",num)  //表示16进制输出

	



	
}


